summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorliamwhite <liamwhite@users.noreply.github.com>2023-07-17 16:42:41 +0200
committerGitHub <noreply@github.com>2023-07-17 16:42:41 +0200
commit5593bed08ad913ebc3b9ad17799391fb5289c2c3 (patch)
tree43fa15d682207552d9f2aa29d080e1da13b3dd2c
parentMerge pull request #11102 from v1993/your-mom-is-encrypted (diff)
parentcmake: allow using system VMA library (diff)
downloadyuzu-5593bed08ad913ebc3b9ad17799391fb5289c2c3.tar
yuzu-5593bed08ad913ebc3b9ad17799391fb5289c2c3.tar.gz
yuzu-5593bed08ad913ebc3b9ad17799391fb5289c2c3.tar.bz2
yuzu-5593bed08ad913ebc3b9ad17799391fb5289c2c3.tar.lz
yuzu-5593bed08ad913ebc3b9ad17799391fb5289c2c3.tar.xz
yuzu-5593bed08ad913ebc3b9ad17799391fb5289c2c3.tar.zst
yuzu-5593bed08ad913ebc3b9ad17799391fb5289c2c3.zip
-rw-r--r--.gitmodules2
-rw-r--r--CMakeLists.txt1
-rw-r--r--externals/CMakeLists.txt6
m---------externals/VulkanMemoryAllocator0
m---------externals/vma/VulkanMemoryAllocator0
-rw-r--r--src/video_core/CMakeLists.txt6
-rw-r--r--src/video_core/vulkan_common/vma.cpp (renamed from externals/vma/vma.cpp)0
7 files changed, 10 insertions, 5 deletions
diff --git a/.gitmodules b/.gitmodules
index 9f96b70be..361f4845b 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -56,5 +56,5 @@
path = externals/nx_tzdb/tzdb_to_nx
url = https://github.com/lat9nq/tzdb_to_nx.git
[submodule "VulkanMemoryAllocator"]
- path = externals/vma/VulkanMemoryAllocator
+ path = externals/VulkanMemoryAllocator
url = https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 647219052..9023d2072 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -293,6 +293,7 @@ find_package(LLVM MODULE COMPONENTS Demangle)
find_package(lz4 REQUIRED)
find_package(nlohmann_json 3.8 REQUIRED)
find_package(Opus 1.3 MODULE)
+find_package(VulkanMemoryAllocator CONFIG)
find_package(ZLIB 1.2 REQUIRED)
find_package(zstd 1.5 REQUIRED)
diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt
index 4ff588851..1f7cd598e 100644
--- a/externals/CMakeLists.txt
+++ b/externals/CMakeLists.txt
@@ -144,9 +144,9 @@ endif()
add_subdirectory(nx_tzdb)
# VMA
-add_library(vma vma/vma.cpp)
-target_include_directories(vma PUBLIC ./vma/VulkanMemoryAllocator/include)
-target_link_libraries(vma PRIVATE Vulkan::Headers)
+if (NOT TARGET GPUOpen::VulkanMemoryAllocator)
+ add_subdirectory(VulkanMemoryAllocator)
+endif()
if (NOT TARGET LLVM::Demangle)
add_library(demangle demangle/ItaniumDemangle.cpp)
diff --git a/externals/VulkanMemoryAllocator b/externals/VulkanMemoryAllocator
new file mode 160000
+Subproject 9b0fc3e7b02afe97895eb3e945fe800c3a7485a
diff --git a/externals/vma/VulkanMemoryAllocator b/externals/vma/VulkanMemoryAllocator
deleted file mode 160000
-Subproject 0aa3989b8f382f185fdf646cc83a1d16fa31d6a
diff --git a/src/video_core/CMakeLists.txt b/src/video_core/CMakeLists.txt
index 3b2fe01da..7f79111e0 100644
--- a/src/video_core/CMakeLists.txt
+++ b/src/video_core/CMakeLists.txt
@@ -274,6 +274,7 @@ add_library(video_core STATIC
vulkan_common/vulkan_wrapper.h
vulkan_common/nsight_aftermath_tracker.cpp
vulkan_common/nsight_aftermath_tracker.h
+ vulkan_common/vma.cpp
)
create_target_directory_groups(video_core)
@@ -291,7 +292,7 @@ target_link_options(video_core PRIVATE ${FFmpeg_LDFLAGS})
add_dependencies(video_core host_shaders)
target_include_directories(video_core PRIVATE ${HOST_SHADERS_INCLUDE})
-target_link_libraries(video_core PRIVATE sirit Vulkan::Headers vma)
+target_link_libraries(video_core PRIVATE sirit Vulkan::Headers GPUOpen::VulkanMemoryAllocator)
if (ENABLE_NSIGHT_AFTERMATH)
if (NOT DEFINED ENV{NSIGHT_AFTERMATH_SDK})
@@ -324,6 +325,9 @@ else()
# xbyak
set_source_files_properties(macro/macro_jit_x64.cpp PROPERTIES COMPILE_OPTIONS "-Wno-conversion;-Wno-shadow")
+
+ # VMA
+ set_source_files_properties(vulkan_common/vma.cpp PROPERTIES COMPILE_OPTIONS "-Wno-conversion;-Wno-unused-variable;-Wno-unused-parameter;-Wno-missing-field-initializers")
endif()
if (ARCHITECTURE_x86_64)
diff --git a/externals/vma/vma.cpp b/src/video_core/vulkan_common/vma.cpp
index 1fe2cf52b..1fe2cf52b 100644
--- a/externals/vma/vma.cpp
+++ b/src/video_core/vulkan_common/vma.cpp